home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / g / gnu_c / gempp19.zoo / gem++19 / man / vdi.man < prev   
Encoding:
Text File  |  1993-05-04  |  11.1 KB  |  327 lines

  1.                      GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
  2.  
  3.  
  4.  
  5. NAME
  6.      VDI - class-based Virtual Device Interface
  7.  
  8. DESCRIPTION
  9.      This class simplifies usage of the VDI functions by encapsulating
  10.      the vdi_handle in the class.
  11.  
  12.      All methods are identically named as the original VDI calls, except
  13.      the leading "v" or "v_" is removed.
  14.  
  15. CONSTRUCTORS
  16.      VDI()
  17.        A virtual workstation VDI based on the AES workstation.
  18.  
  19.      VDI(VDI&)
  20.        Duplicate workstation.
  21.  
  22.      VDI(const char* metafile)
  23.        ** UNTESTED **
  24.  
  25.      VDI(short* raster)
  26.        This is an experimental hack.  Ignore it.
  27.  
  28. METHODS
  29.      int operator!()
  30.        TRUE if the constructor failed.
  31.  
  32. SHORTHAND METHODS
  33.      int  st_height(int height)
  34.      int  st_point(int point)
  35.      void st_alignment(int hin, int vin)
  36.  
  37.      void clip()
  38.        Clip to full area of device
  39.      void clip(int x1, int y1, int x2, int y2)
  40.        Clip to area
  41.      void clip_off()
  42.        No clipping
  43.  
  44.      void bar(int x1, int y1, int x2, int y2)
  45.      void rbox(int x1, int y1, int x2, int y2)
  46.      void rfbox(int x1, int y1, int x2, int y2)
  47.      void line(int x1, int y1, int x2, int y2)
  48.      void marker(int x, int y)
  49.      void r_recfl(int x1, int y1, int x2, int y2)
  50.        Non Pxyarray versions. (slower, easier)
  51.  
  52.      const int SRC=3
  53.      const int DST=5
  54.        Combine SRC and DST using any logical operators for raster mode.
  55.        eg. VDI::SRC|VDI::DST gives "or" mode.
  56.  
  57.      void ro_cpyfm(int mode, int pxyarray[], VDI& from)
  58.      void rt_cpyfm(int mode, int pxyarray[], VDI& from, int color[]);  
  59.      void r_trnfm(VDI& from)
  60.        Unary version - destination is this VDI
  61.  
  62.      void ro_cpyfm(int mode, int pxyarray[])
  63.      void rt_cpyfm(int mode, int pxyarray[], int color[]);  
  64.      void r_trnfm()
  65.        Nullary version - source and destination is this VDI
  66.  
  67.      const MFDB& MF() { return mfdb; }
  68.  
  69. GLOBAL METHODS
  70.      void clrwk()
  71.      void updwk()
  72.  
  73. CONSTANT METHODS (WorkOut and ExtWorkOut values)
  74.      int MaxX()
  75.      int MaxY()
  76.      int Width()
  77.      int Height()
  78.      bool PreciseScaling()
  79.      int PixelWidth()
  80.        in microns
  81.      int PixelHeight()
  82.        in microns
  83.      int NumberOfCharacterHeights()
  84.      int NumberOfLineTypes()
  85.      int NumberOfLineWidths()
  86.        0 = only default
  87.      int NumberOfMarkerTypes()
  88.      int NumberOfMarkerSizes()
  89.      int NumberOfTextFaces()
  90.      int NumberOfPatterns()
  91.      int NumberOfHatchStyles()
  92.      int NumberOfPredefinedColours()
  93.      int NumberOfAvailableColours()
  94.      int NumberOfGDPs()
  95.      int GDP(int i)
  96.        0 <= i <= 9
  97.      int GDPAttribute(int i)
  98.        0 <= i <= 9
  99.      bool Colour()
  100.      bool RotateTextWorks()
  101.      bool FillAreaWorks()
  102.      bool CellArrayWorks()
  103.      int NumberOfLocators()
  104.      int NumberOfValidators()
  105.      int NumberOfChoosers()
  106.      int NumberOfStringDevices()
  107.      int WorkstationType()
  108.      bool CanOutput()
  109.      bool CanInput()
  110.      bool IsMetafile()
  111.  
  112.      int ScreenType()
  113.      int NumberOfBackgroundColours()
  114.      bool TextEffectsSupported()
  115.      bool ScalableRasters()
  116.      int NumberOfPlanes()
  117.      bool TrueColor()
  118.      int Speed()
  119.      bool ContourFillSupported()
  120.      int CharacterRotationType()
  121.      int NumberOfWritingModes()
  122.      int InputModesAvailable()
  123.      bool TextAlignmentSupported()
  124.      bool InkingSupported()
  125.      int RubberbandingSupported()
  126.      int MaximumVertices()
  127.      int MaximumIntin()
  128.      int NumberOfMouseButtons()
  129.      bool StyledWideLinesSupported()
  130.      bool WideLinesWriteModesSupported()
  131.  
  132.      int Charwidth()
  133.      int Charheight()
  134.      int Charcellwidth()
  135.      int Charcellheight()
  136.  
  137. ATTRIBUTE METHODS
  138.      int  swr_mode (int mode)
  139.      void s_color (int index, int rgb[])
  140.      int  sl_type (int style)
  141.      void sl_udsty (int pat)
  142.      int  sl_width (int width)
  143.      int  sl_color (int index)
  144.      void sl_ends (int begstyle, int endstyle)
  145.      int  sm_type (int symbol)
  146.      void sm_height (int height)
  147.      int  sm_color (int index)
  148.      int  st_height (int height, int *charw, int *charh, int *cellw, int *cellh)
  149.      int  st_point (int point, int *charw, int *charh, int *cellw, int *cellh)
  150.      int  st_rotation (int ang)
  151.      int  st_font (int font)
  152.      int  st_color (int index)
  153.      int  st_effects (int effects)
  154.      void st_alignment (int hin, int vin, int *hout, int *vout); 
  155.      int  sf_interior (int style)
  156.      int  sf_fill (int style)
  157.      int  sf_style (int style)
  158.      int  sf_color (int index)
  159.      int  sf_perimeter (int vis)
  160.      void sf_udpat (int pat[], int planes)
  161.  
  162.      int  st_load_fonts (int select)
  163.      void st_unload_fonts (int select)
  164.      void s_clip (int clip_flag, int pxyarray[])
  165.  
  166. OUTPUT METHODS
  167.      void bar (int pxyarray[])
  168.      void arc (int x, int y, int radius, int begang, int endang); 
  169.      void pieslice (int x, int y, int radius, int begang, int endang)
  170.      void circle (int x, int y, int radius)
  171.      void ellarc (int x, int y, int xrad, int yrad, int begang, int endang)
  172.      void ellpie (int x, int y, int xrad, int yrad, int begang, int endang)
  173.      void ellipse (int x, int y, int xrad, int yrad)
  174.      void rbox (int pxyarray[])
  175.      void rfbox (int pxyarray[])
  176.      void justified (int x, int y, char *str, int len, int word_space, int char_space)
  177.      void pline (int count, int pxyarray[])
  178.      void pmarker (int count, int pxyarray[])
  179.      int  gtext (int x, int y, char *str)
  180.      void fillarea (int count, int pxyarray[])
  181.      void cellarray (int pxyarray[], int row_length, int elements, int nrows, int write_mode, int colarray[])
  182.      void contourfill (int x, int y, int index)
  183.      void r_recfl (int pxyarray[])
  184.  
  185.      void ro_cpyfm (int mode, int pxyarray[], const MFDB& src, const MFDB& dst)
  186.      void rt_cpyfm (int mode, int pxyarray[], const MFDB& src, const MFDB& dst, int color[]);  
  187.      void r_trnfm (const MFDB& src, const MFDB& dst)
  188.      void get_pixel (int x, int y, int *pel, int *indx); 
  189.  
  190.  
  191. INPUT METHODS
  192.      int  sin_mode  (int dev, int mode)
  193.      void rq_locator (int x, int y, int *xout, int *yout, int *term);  
  194.      int  sm_locator (int x, int y, int *xout, int *yout, int *term)
  195.  
  196.      void rq_valuator (int in, int *out, int *term)
  197.      void sm_valuator (int in, int *out, int *term, int *status)
  198.      void rq_choice (int cin, int *cout)
  199.      int  sm_choice (int *choice)
  200.      void rq_string (int len, int echo, int echoxy[], char *str)
  201.      int  sm_string (int len, int echo, int echoxy[], char *str)
  202.      void sc_form (int form[])
  203.      void ex_timv (void *time_addr, void **otime_addr, int *time_conv); 
  204.      void show_c (int reset)
  205.      void hide_c ()
  206.      void q_mouse (int *pstatus, int *x, int *y)
  207.      void ex_butv (void *new_p, void **old)
  208.      void ex_motv (void *new_p, void **old)
  209.      void ex_curv (void *new_p, void **old)
  210.      void q_key_s (int *state)
  211.  
  212. INQUIRY METHODS
  213.      void q_extnd (int flag, int work_out[])
  214.      int  q_color (int index, int flag, int rgb[])
  215.      void ql_attribute (int atrib[])
  216.      void qm_attributes (int atrib[])
  217.      void qf_attributes (int atrib[])
  218.      void qt_attributes (int atrib[])
  219.      void qt_extent (char *str, int extent[])
  220.      int  qt_width (int chr, int *cw, int *ldelta, int *rdelta)
  221.      int  qt_name (int element, char *name)
  222.      void q_cellarray (int pxyarray[], int row_len, int nrows, int *el_used, int *rows_used, int *status, int color[]);  
  223.      void qin_mode (int dev, int *mode)
  224.      void qt_fontinfo (int *minade, int *maxade, int distances[], int *maxwidth, int effects[]);  
  225.      void qt_font_info (int *minade, int *maxade, int distances[], int *maxwidth, int effects[]);  
  226.  
  227. ASCII TERMINAL METHODS
  228.      void q_chcells (int *n_rows, int *n_cols)
  229.      void exit_cur ()
  230.      void enter_cur ()
  231.      void curup ()
  232.      void curdown ()
  233.      void curright ()
  234.      void curleft ()
  235.      void curhome ()
  236.      void eeos ()
  237.      void eeol ()
  238.      void s_curaddress (int row, int col)
  239.      void curtext (char *s)
  240.      void rvon ()
  241.      void rvoff ()
  242.      void q_curaddress (int *cur_row, int *cur_col)
  243.  
  244. ESCAPE METHODS
  245.      int  q_tabstatus ()
  246.      void hardcopy ()
  247.      void dspcur  (int x, int y)
  248.      void rmcur ()
  249.      void form_adv ()
  250.      void output_window (int *pxyarray)
  251.      void clear_disp_list ()
  252.      void bit_image (const char *filename, int aspect, int x_scale, int y_scale, int h_align, int v_align, int *pxyarray)
  253.      void q_scan (int *g_slice, int *g_page, int *a_slice, int *a_page, int *div_fac)
  254.      void alpha_text (const char *string)
  255.      int  s_palette (int palette)
  256.      void sound (int frequency, int duration)
  257.      int  s_mute (int action)
  258.      void t_resolution (int xres, int yres, int *xset, int *yset)
  259.      void t_axis (int xres, int yres, int *xset, int *yset)
  260.      void t_origin (int xorigin, int yorigin)
  261.      void q_dimensions (int *xdimension, int *ydimension)
  262.      void t_alignment (int dx, int dy)
  263.      void sp_film (int index, int lightness)
  264.      int  qp_filmname (int index, char *name)
  265.      void sc_expose (int state)
  266.      void meta_extents (int min_x, int min_y, int max_x, int max_y)
  267.      void write_meta (int num_intin, int *a_intin, int num_ptsin, int *a_ptsin)
  268.      void m_pagesize (int pgwidth, int pgheight)
  269.      void m_coords (int llx, int lly, int urx, int ury)
  270.      void m_filename (const char *filename)
  271.      void escape2000 (int times)
  272.  
  273. GDOS METHODS
  274.      unsigned long q_vgdos ()
  275.      void getbitmap_info (int ch, int infoarray[])
  276.      void qt_f_extent (const char *str, int extent[])
  277.      void ftext (int x, int y, const char *str)
  278.      void killoutline (void *component)
  279.      void getoutline (int ch, void **component)
  280.      void st_scratch (int mode)
  281.      void st_error (int mode, int *errorvar)
  282.      int  st_arbpt (int point, int *wchar, int *hchar, int *wcell, int *hcell)
  283.      void qt_advance (int ch, int *xadv, int *yadv, int *xrem, int *yrem); 
  284.      void qt_devinfo (int device, int *isdev, char *drivername)
  285.      int  savecache (char *filename)
  286.      int  loadcache (char *filename, int mode)
  287.      int  flushcache ()
  288.      int  st_setsize (int point, int *wchar, int *hchar, int *wcell, int *hcell)
  289.      int  st_skew (int skew)
  290.      void qt_get_tables (void **gascii, void **style)
  291.      void qt_cachesize (int which_cache, size_t *size)
  292.      int  bez (int count, int *xyarr, char *bezarr, int extent[4], int *npts, int *nmvs)
  293.      int  bez_fill (int count, int *xyarr, char *bezarr, int extent[4], int *npts, int *nmvs)
  294.      int  bez_qual (int percent, int *actual)
  295.      int  bez_on ()
  296.      void bez_off ()
  297.  
  298.      void shtext (int wsid, int x, int y, const char *text, int color, int xshadow, int yshadow)
  299.      void set_app_buff (void **buf_p, int size)
  300.  
  301. USAGE
  302.      Since VDIs take up quite a large amount of memory (8K?), it is
  303.      suggested that they be kept to a minimum - but do not make things
  304.      too difficult - if you don't take advantage of multiple VDIs, you
  305.      may end up restoring attributes before very output!
  306.  
  307. SEE ALSO
  308.      GEMvdiobject
  309.  
  310. BUGS
  311.      Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
  312.  
  313. AUTHOR
  314.      Warwick Allison, 1993.
  315.      warwick@cs.uq.oz.au
  316.  
  317. COPYING
  318.      This functionality is part of the GEM++ library,
  319.      and is Copyright 1993 by Warwick W. Allison.
  320.  
  321.      GEM++ is free and protected under the GNU Library General Public
  322.      License.
  323.  
  324.      You are free to copy and modify these sources, provided you
  325.      acknowledge the origin by retaining this notice, and adhere to
  326.      the conditions described in the GNU LGPL.
  327.